<template>
  <el-table-column :prop="props.property" :label="props.label" :width="props.width"
                   :sortable="props.sortable" :show-overflow-tooltip="props.showOverflowTooltip">
    <template #default="{row, column, $index}">
      <a @click.stop="onClick(row)" class="inline-block" style="width: 100%">{{ row[property] }}</a>
    </template>
  </el-table-column>
</template>

<script setup lang="ts">

/**
 * 表格行级超链接
 */
const props = defineProps({
    // 宽度
    width: {type: [Number, String], default: undefined}
    // 字段名
    , property: String
    // 列名
    , label: String
    // 列名
    , sortable: {type: [Boolean, String], default: false}
    // 显示 tip
    , showOverflowTooltip: {type: Boolean, default: false}
    // 数据变化事件
    , click: {type: Function, default: undefined}
});

const onClick = (row) => {
    if (props.click) {
        props.click('$' + props.property, row);
    }
}
</script>
